package com.flong.juc.charter1;

/**
 * @Author:liangjl
 * @Date: 2020/7/4-21:56
 * @Eamil:jilongliang@sina.com
 * @Description: 在操作系统中，线程可以划分优先级，优先级较高的线程得到更多cpu资源，也就cpu会优先级较高
 * 线程对象中，设置线程优先级有助于帮助【线程调度器】确定在下一次选择那个线程优先执行
 * 设置线程的优先级使用setPriority方法，优先级分为1~10个级别，如果设置优先级小于1或大与10，jdk会抛出
 * IllegalArgumentException,jdk默认设置3个优先级常量，MIN_PRIORITY=1最小值,NORM_PRIORITY=5中间值,
 * MAX_PRIORITY=10最大值
 */
public class MyTest11 {
    public static void main(String[] args) {
        System.out.println("主线程优先级" + Thread.currentThread().getPriority());
        Thread.currentThread().setPriority(1);
        System.out.println("主线程优先级" + Thread.currentThread().getPriority());
        Thread t = new MyTest11Thread();
        t.start();
    }
}

/**
 * 线程优先级具有继承性，比如线程A启动线程B，线程B的优先级与线程A是一样的
 */
class MyTest11Thread extends Thread{

    @Override
    public void run() {
        System.out.println("run优先级" + Thread.currentThread().getPriority());
    }
}